
public class Sulfur extends AbstractAtom{
	private float molWeight;
	private float atomicRadii; //radius in pm
	private float electroNeg;
	private int numOfBonds;
	private int electroCharge; //  -1 is negative, 0 is neutral, 1 is positive
	private String elementChar = "S";
	
	static int MAX_BONDS = 2; //special case here. two single and one double covalent
	
	private boolean dOrbital = false;
	
	public float[] ambient = {0.3f, 0.3f, 0.0f, 1.0f};
	public float[] diffuse = {0.945f, 0.906f, 0.133f, 1.0f};
	public float[] specular = {0.4f, 0.3f, 0.3f, 1.0f};
    public float[] emission = {0.0f, 0.0f, 0.0f, 1.0f};
	public float[] shininess = {32.0f};

	Sulfur()
	{
		molWeight = 32.065f;
		atomicRadii = 100.0f;
		electroNeg = 2.58f;
		numOfBonds = 0;
		electroCharge = -1;	
		
		
		
	}
	
	//Get functions

	public float getMolWeight()
	{
		return molWeight;
	}
	
	public float getAtomicRadii()
	{
		return atomicRadii;
	}
	public float getElectroNeg()
	{
		return electroNeg;
	}
	public int getNumOfBonds()
	{
		return numOfBonds;
		
	}
	public int getNumOfMaxBonds()
	{
		return MAX_BONDS;
	}
	
	//Set functions
	
	public void addBond()
	{
		numOfBonds += 1;
		//checks to see if the charge is affected
		checkElectroCharge();
	}
	
	public void removeBond()
	{
		numOfBonds -= 1;
		checkElectroCharge();
	}
	
	//Electro charge check
	
	public void checkElectroCharge()
	{
		if(dOrbital == false) //checks to see if it is hybridizing
		{
			if (numOfBonds > 2) { electroCharge = 1; }
			if (numOfBonds < 2) { electroCharge = -1; }
			if (numOfBonds == 2) { electroCharge = 0; }
		}
		
		if (dOrbital == true)
		{
			//More complicated. Needs to recognize double bonds
		}

	}
}
